import {createRouter,createWebHistory} from 'vue-router'

const router = createRouter({
    history:createWebHistory(),
    routes:[
        {
            path:'/',
            name:'home',
            component:()=>import('../views/Home.vue') //懒加载
        },
        {
            path:'/login',
            name:'login',
            component:()=>import('../views/Login.vue') //懒加载
        },
        {
            path:'/register',
            name:'register',
            component:()=>import('../views/Register.vue') //懒加载
        }
    ]
})


// 路由导航守卫
router.beforeEach((to,from,next)=>{
    //判断是否登录，如果登录则允许，反正则跳转到登录页面
    // to:将要访问的路径
    // from:从哪个路径跳转
    // next:是一个函数，表示放行
    // next('/login') 强制跳转到登录页面
    
    if(to.path==='/login'||to.path==='/register') return next() //如果访问的是登录页面或者注册页面，直接放行
    //获取token
    const tokenStr = window.sessionStorage.getItem('token')
    
    if(!tokenStr) return next('/login') //如果没有token，强制跳转到登录页面
    next() //如果有token，则放行

    
})

// 路由全局后置守卫
router.afterEach((to,from)=>{

})
//路由错误
router.onError((error)=>{
    console.log(error);
})


export default router